package edenmedical;


import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import edenmedical.GeneralBean;

public class ChannelMessage {
	
	//riscrivere il codice utilizzando i generics
	private Map<String, String> parameters;
	private String selection;
	private GeneralBean bean;
	

	public ChannelMessage() {

	}


	/**
	 * 
	 * 
	 * @param selezione
	 */
	public ChannelMessage(String selezione) {
		super();
		this.selection = selezione;
		//hashmap per i parametri
		parameters = new HashMap<String, String>(13);
	}

	
	public void setSelection(String selection) {
		this.selection = selection;
	}

	
	public GeneralBean getBean() {
		return bean;
	}

	/**
	 * Metodo che setta il bean ed in automatico fa partire 
	 * la valorizzazione 
	 * 
	 * @param bean
	 */
	public void setBean(GeneralBean bean) {
		this.bean = bean;
	}
	
	/**
	 * I parametri sono caricati tutti come stringhe
	 * 
	 * @param parameter
	 * @param value
	 */
	public void addParameter(String parameter, String value) {
		parameters.put(parameter, value);
	}


	public String getSelection() {
		return selection;
	}

	public Iterator getParametersIterator() {
		return parameters.keySet().iterator();
	}

	public int hashCode() {
		final int prime = 31;
		int result = 1;
		
		result = prime * result
				+ ((parameters == null) ? 0 : parameters.hashCode());
		return result;
	}

	public String valueForParameter(String parameter) {
		return (String) parameters.get(parameter);
	}


	public HashMap<String, String> getParameters() {
		return (HashMap)parameters;
	}
	
	
	
	
}

